// pages/my/orderPay/orderPay.js
var util = require('../../../utils/util.js');
var qcloud = require('../../../vendor/wafer2-client-sdk/index');
var config = require('../../../config');
Page({
  /**
   * 页面的初始数据
   */
  data: {
    open_id: '',
    order_id: '',
    hidden: true, //等待的展示与隐藏的控制
    buthidden: false //按钮的可用和不可用的控制
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    var that = this;
    wx.setNavigationBarTitle({
      title: '订单支付',
    });
    this.setData({
      order_id: options.id
    })

    // 获取本地数据-用户信息
    wx.getStorage({
      key: 'userInfo',
      // 能获取到则显示用户信息，保存信息到页面
      success: (json) => {
        console.log(json);
        this.setData({
          userInfo: json.data.userInfo
        })
      }
    });


    //  https://boxapi.supergk.com/server/order/deal_money
    // 计算订单价格
    var _order_id = options.id;
    var _uid = wx.getStorageSync("userInfo").userInfo.uid;
    const requestSetOrderMoney = wx.request({
      url: "https://boxapi.supergk.com/server/order/deal_money",
      header: {
        "Content-Type": "application/x-www-form-urlencoded"
      },
      method: "POST",
      data: util.json2Form({ order_id: _order_id, user_id: _uid }),
      success: function (res) {
        console.log(res);
        if (res.data.code == 0) {
          console.log(res.data.msg);
          that.setData({
            payData: res.data.data
          })
        } else {
          console.log(res.data.msg)
        }
      }
    })
  },

  // 支付订单
  orderPay: function () {
    var that = this;
    //显示等待、禁用按钮，后台返回错误则将true和false对调一下就是隐藏等待、启用按钮
    that.setData({
      buthidden: true
    })
    var open_id = wx.getStorageSync("userInfo").userInfo.openId;
    var order_id = this.data.order_id;
    wx.request({
      url: 'https://boxapi.supergk.com/server/wxpay',
      method: "POST",
      header: {
        "Content-Type": "application/x-www-form-urlencoded"
      },
      data: util.json2Form({ open_id: open_id, order_id: order_id }),
      success: function (res) {
        console.log(res);
        if (res.data.code == "0") {
          //显示等待、禁用按钮，后台返回错误则将true和false对调一下就是隐藏等待、启用按钮
          that.setData({
            hidden: false,
            buthidden: true
          })
          // 发起支付
          wx.requestPayment({
            'timeStamp': res.data.data.data.timeStamp,
            'nonceStr': res.data.data.data.nonceStr,
            'package': res.data.data.data.package,
            'signType': 'MD5',
            'paySign': res.data.data.data.paySign,
            'success': function (res) {
              that.setData({
                hidden: false,
                buthidden: true
              })
              console.log("支付成功：")
              console.log(res)
              wx.showToast({
                title: "支付成功",
                duration: 3000
              })
        
              wx.navigateTo({
                url: '../../my/orderEnd/orderEnd?id=' + order_id
              })
            },
            'fail': function (res) {
              that.setData({
                hidden: true,
                buthidden: false
              })
              console.log("支付失败：" + res)
              console.log(res)
              wx.showToast({
                title: "支付失败",
                duration: 3000
              })
            }
          })
        } else {
          //显示等待、禁用按钮，后台返回错误则将true和false对调一下就是隐藏等待、启用按钮
          that.setData({
            hidden: true,
            buthidden: false
          })
          console.log(res.data.msg)
          console.log(res.data.data.err_code_des)
          wx.showToast({
            title: res.data.data.err_code_des,
            duration: 3000
          })
        }
      }
    })


  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },
  movetoOrderEnd: function () {
    wx.navigateTo({
      url: '../orderEnd/orderEnd',
    })
  }
})